package com.snj.twelve;

import java.util.Collection;
import java.util.Set;

public class StringMatcher {

    /**
     * 从字符串集合中匹配传入字符串中包含的子串，并返回匹配到的子串
     *
     * @param input    输入的字符串
     * @param keywords 字符串集合
     * @return 匹配到的子串，如果未匹配到则返回 null
     */
    public static String matchKeyword(String input, Collection<String> keywords) {
        if (input == null || keywords == null || keywords.isEmpty()) {
            return null;
        }

        // 遍历字符串集合，检查输入字符串是否包含集合中的某个子串
        for (String keyword : keywords) {
            if (input.contains(keyword)) {
                return keyword;
            }
        }

        // 如果未匹配到任何子串，返回 null
        return null;
    }

    public static void main(String[] args) {
        // 测试用例
        String input = "溧阳市供电公司库房";
        Collection<String> keywords = Set.of("南京", "北京", "苏州", "溧阳");

        String matchedKeyword = matchKeyword(input, keywords);
        if (matchedKeyword != null) {
            System.out.println("匹配到的关键字: " + matchedKeyword);
        } else {
            System.out.println("未匹配到任何关键字");
        }
    }
}